package pacs.sgc.negocio;

import java.util.List;

import pacs.sgc.classesbasicas.Endereco;
import pacs.sgc.exceptions.AcessoAoBancoException;
import pacs.sgc.exceptions.ConexaoComBancoException;
import pacs.sgc.exceptions.EnderecoJaCadastradoException;
import pacs.sgc.exceptions.EnderecoNaoEncontradoException;
import pacs.sgc.exceptions.NenhumEnderecoCadastradoException;

public interface ICadastroEndereco {

	public void inserir(Endereco novoEndereco) throws AcessoAoBancoException, ConexaoComBancoException, EnderecoJaCadastradoException;
	public void remover(int codigo) throws ConexaoComBancoException, AcessoAoBancoException, EnderecoNaoEncontradoException;
	public void atualizar(Endereco atualizado) throws AcessoAoBancoException, ConexaoComBancoException, EnderecoNaoEncontradoException;
	public Endereco localizar(int codigo) throws ConexaoComBancoException, AcessoAoBancoException;
	public List<Endereco> listar() throws AcessoAoBancoException, ConexaoComBancoException, NenhumEnderecoCadastradoException;
	public int gerarCodigo() throws AcessoAoBancoException, ConexaoComBancoException;
}
